home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / notes / old.new / modules < prev    next >
Encoding:
Text File  |  1992-10-05  |  4.1 KB  |  111 lines

  1. (Note: "keep" refers primarily to machine-independent code.)
  2.  
  3. mach (md/mach.h md/machAsmDefs.h md/machConst.h md/machMon.h
  4.      md/machTypes.h) - use Mach for some (exec, migration); rest
  5.      (e.g., interrupt stuff) goes away.  asm defs not needed unless we keep
  6.      assembly files (e.g., for performance).
  7.      Note that some migration routines live in this module.
  8.  
  9. dbg (md/{dbg.h,dbgAsm.h}) - put into kernel?
  10.  
  11. dev (dev.h devBlockDevice.h devDiskLabel.h devDiskStats.h
  12.     devFsOpTable.h devNet.h devNull.h devQueue.h devSCSIDisk.h
  13.     devSCSITape.h devSyslog.h devTypes.h devVid.h) - keep syslog and
  14.     interface needed for other modules.  Otherwise replace with Mach
  15.     drivers and device interface.  How good is Mach device
  16.     instrumentation?  May want to later replace Mach drivers with Sprite
  17.     drivers, either for licensing or code quality reasons (e.g., Sprite
  18.     uses common code for some classes of devices).  (For syslog,
  19.     may want to initially replace with a printf stub.)
  20.     => For "MD" interface, look for cooperation between the MD code and
  21.     any machine-independent code (i.e., not just "dev").
  22.  
  23. fs (fs.h fsNameOps.h fsStat.h) - keep; whole-page routines (e.g.,
  24.    Fs_PageRead) will these be needed by the pager.  Some scheduling
  25.    code 
  26.  
  27. fscache (fscache.h fscacheBlocks.h) - keep (may need some changes for
  28.     block management, though)
  29.  
  30. fsconsist (fsconsist.h) - keep
  31.  
  32. fsdm (fsdm.h) - keep (domain interface), except have to redo disk
  33.      header stuff?
  34.  
  35. fsio (fsio.h fsioDevice.h fsioFile.h fsioLock.h fsioPipe.h fsioRpc.h) -
  36.      keep; local device stuff probably needs changes
  37.  
  38. fslcl (fslcl.h fslclNameHash.h) - keep
  39.  
  40. fspdev (fspdev.h) - keep
  41.  
  42. fsprefix (fsprefix.h) - keep
  43.  
  44. fsrmt (fsrmt.h fsrmtDomain.h fsrmtMigrate.h fsrmtRpcStubs.h) - keep
  45.  
  46. fsutil (fsutil.h fsutilTrace.h) - keep
  47.  
  48. lfs (lfs.h lfsDesc.h lfsDescMap.h lfsDirOpLog.h lfsFileLayout.h
  49.   lfsSeg.h lfsSegLayout.h lfsStableMem.h lfsStats.h lfsSuperBlock.h
  50.   lfsUsageArray.h) - keep, but don't need right away (won't run on LFS
  51.   initially).
  52.  
  53. libc - keep
  54.  
  55. main (main.h) - keep, except for some stuff related to scheduling
  56.  
  57. mem (mem.h) - keep (uses vm for low-level allocation; will replace
  58.   those routines with malloc calls).
  59.  
  60. net (net.h netArp.h netRoute.h netTypes.h) - keep high-level code
  61.     (netArp, netCode, netRoute); replace with Mach drivers if faster
  62.     (netIE*, netLE*); rewrite Ultranet driver.  [See notes on "dev".]
  63.  
  64. ofs (ofs.h) - keep, assuming we keep the Sprite disk layout.  Ideally,
  65.     we never actually teach Sprite about BSD disk layout; use an
  66.     existing server instead.
  67.  
  68. proc (proc.h procMigrate.h procServer.h procTypes.h md/migVersion.h
  69.      md/procMach.h) - some stuff changes or goes away because we use Mach
  70.      tasks and Mach scheduling
  71.  
  72. prof (prof.h) - keep user profiling (prof/{profMigrate,profProfil}.c);
  73.      need to think about kernel profiling (how is it driven off the
  74.      timer?)  Can you flush this code and use a second server for
  75.      profiling?  What are the CMU guys doing for the BSD
  76.      single-server?
  77.  
  78. raid (raidExt.h) - keep
  79.  
  80. recov (recov.h) - keep
  81.  
  82. rpc (rpc.h rpcCall.h rpcClient.h rpcCltStat.h rpcHistogram.h
  83.   rpcPacket.h rpcServer.h rpcSrvStat.h rpcTrace.h rpcTypes.h) - keep
  84.  
  85. sched (sched.h) - mostly goes away (let Mach do scheduling)
  86.  
  87. sig (sig.h sigTypes.h) - (see BSD uxkern/ux_exception.c, signal code)
  88.     may need to rewrite signals.c?
  89.  
  90. sync (sync.h syncLock.h syncTypes.h) - Initially keep most of impl,
  91.      rewriting bottom layer to use C threads (or to mimic C threads).
  92.      May want to later use C threads directly, but would also like to
  93.      keep the debugging facilities and other instrumentation.  In any
  94.      event, keep the System V stuff.
  95.  
  96. sys (sys.h sysSysCall.h sysSysCallParam.h) - rewrite some system call
  97.     stub stuff (to use MIG); keep the rest.
  98.  
  99. timer (timer.h md/timerMach.h md/timerTick.h) - keep queue mgmt,
  100.       manipulation of timer values.; must make sure server doesn't
  101.       interfere with kernel's use of timers. What does BSD server do?
  102.  
  103. utils (bf.h byte.h dump.h hash.h trace.h) - keep 
  104.  
  105. vm (vm.h vmSwapDir.h vmTrace.h md/vmMach.h md/vmMachStat.h
  106.    md/vmMachTrace.h mv/vmFooConts.h) - rewrite, using Mach
  107.  
  108. Local Variables:
  109. mode: indented-text
  110. End:
  111.